export default {
  /**
   * 开启监听推送
   */
  pushListener() {
    plus.push.addEventListener('click', res => {
      const pages = getCurrentPages()
      if (Array.isArray(pages) && pages.length) {
        const len = pages.length
        if (pages[len - 1] && !(['pages/alarmConfirm/index', 'pages/login/index'].includes(pages[len - 1].route))) {
          // 当前页面不在首页也不在登录页，跳回到首页
          uni.reLaunch({ url: "/pages/alarmConfirm/index" });
        }
      }
    })

    plus.push.addEventListener('receive', msg => {
      if (msg.type === 'receive') {
        const options = {
          cover: false,
          title: msg.title
        }
        plus.push.createMessage(msg.content, msg.payload, options)
      }
    })
  },
  /**
   * 循环获取clientId信息，直到获取到为止
   */
  getClientInfoLoop({ success }) {
    // plus.push.getClientInfoAsync(function (info) {
    //   if (!info || !info.clientid) {
    //     let infoTimer = false
    //     infoTimer = setInterval(function() {
    //       const pinf = plus.push.getClientInfo()
    //       if (pinf?.clientid) {
    //         const cid = pinf.clientid
    //         if (cid) {
    //           clearInterval(infoTimer)
    //           uni.setStorageSync('cid', cid)
    //           success && success(cid)
    //         }
    //       }
    //     }, 300)
    //   } else if(info?.clientid) {
    //     const cid = info.clientid
    //     uni.setStorageSync('cid', cid)
    //     success && success(cid)
    //   }
    // }, function(e) {
    //   const pinf = plus.push.getClientInfo()
    //   if (pinf && pinf.clientid) {
    //     const cid = pinf.clientid
    //     uni.setStorageSync('cid', cid)
    //     success && success(cid)
    //   }
    // })
  },
  /**
   * 监听网络状态
   */
  startMonitoringNetWork() {
    uni.onNetworkStatusChange((res) => {
      switch (res.networkType) {
        case 'none':
          uni.showModal({
            title: '提示',
            content: '网络不给力，请检查网络设置。',
          })
          break
        case '2g':
        case '3g':
        case '4g':
        case '5g':
          break
        case 'wifi':
          break
        default:
          break
      }
    })
  }
}